使用startService启动服务

  • 遇到的问题

    • 创建多个方法时,一个一个创建很麻烦
  • 解决方法:

    • 可以使用如下方法:

      1. 光标放在MyService上右键点击Generate
      2. 点击Override Methods

      1. 选择要创建的方法点确定就行
    • logcat输出:


使用Handler处理消息

  • 遇到的问题

    • 数据变化太快,+10增长,不便于观察

      while(progress <= 100){
                    Message msg = new Message();
                    msg.arg1 = progress;
                    handler.sendMessage(msg);
                    progress += 10;
      
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
      
  • 解决方法:

    • 修改以上代码,让数字以1增长:

      while(progress <= 100){
                    Message msg = new Message();
                    msg.arg1 = progress;
                    handler.sendMessage(msg);
                    progress +=1;
      
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
      

广播

  • 遇到的问题

    • 收不到广播
  • 解决方法:

    • 需要在AndroidManifest.xml中声明receiver:
      <receiver
            android:name=".MyReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MY_BROADCAST"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
      

results matching ""

    No results matching ""